home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / LIB211.ZIP;1 / README.TXT < prev    next >
Encoding:
Text File  |  1993-12-15  |  14.2 KB  |  305 lines

  1. ⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø 
  2. ≥              €   €      €   €€€€€€€  €        €€€€€€€              √ƒø 
  3. ≥              €   €      €   €        €        €     €              ≥ ≥ 
  4. ≥              €   €      €   €€€€€€   €        €€€€€€€              ≥ ≥
  5. ≥        €€€€€€€   €      €   €        €        €                    ≥ ≥
  6. ≥        €     €   €      €   €        €        €                    ≥ ≥
  7. ≥        €€€€€€€   €€€€€€€€   €        €€€€€€€  €                    ≥ ≥
  8. ≥                                                                    ≥ ≥
  9. ≥                           README.TXT                               ≥ ≥
  10. ≥              For the dUFLP LIBRARY Files (attached)                ≥ ≥
  11. ≥         (dUFLP = dBASE Users' Function Library Project)            ≥ ≥
  12. ≥                         Version 2.11                               ≥ ≥
  13. ≥                          12/15/1993                                ≥ ≥
  14. ¿ƒ¬ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ ≥
  15.   ¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ
  16.  
  17.   **************************
  18.   **************************
  19.   ******* IMPORTANT! *******
  20.   **************************
  21.   **************************
  22.   See NEWS.TXT as well as the normal WHATS.NEW file!!!
  23.  
  24.   Also please note that the listing of all routines is now in INDEX.TXT.
  25.  
  26.   This library system is freeware (no charge). This file (README.TXT) is 
  27. a small amount of description for the attached procedure files. I have 
  28. spent many hours compiling functions and procedures that I have found 
  29. useful. Some of these (a few) are ones I have written myself, many are 
  30. ones I have incorporated here from a variety of sources, usually the 
  31. dBASE Forum on Compuserve, or the old Borland (once Ashton-Tate) 
  32. Bulletin Board (BORBBS). There were a lot of good people using this 
  33. board, both as sysops/sigops, and as users, and I have learned alot
  34. about dBASE IV Programming from these people. These days I get most of 
  35. my the routines from either Compuserve (dBASE forum: GO DBASE), or 
  36. from the USSBBS (see below).
  37.  
  38. *****************************************************************
  39. *****************************************************************
  40. *********** CONTRIBUTORS TO THE LIBRARY *************************
  41. *****************************************************************
  42. *****************************************************************
  43. Please read CONTRIB.TXT and DHUNG2.TXT for details. This is
  44. very important to all of us. Thank you.
  45.  
  46.  
  47. *****************************************************************
  48. ********************** DISTRIBUTION *****************************
  49. *****************************************************************
  50. All procedures/functions in PROC.PRG and accompanying files are public
  51. domain. We ask that if you use them (or in this PROC file) with your 
  52. systems, that you include in your source code ALL the documentation, 
  53. including (ESPECIALLY) the name of the programmer (Credit should go 
  54. where it's due, after all). 
  55.  
  56.  
  57. *****************************************************************
  58. ***************** HOW TO REACH THE LIBRARIAN ********************
  59. *****************************************************************
  60. This is a set of dynamic files -- they're always changing. Please feel
  61. free to send me comments and/or suggestions on ways to better it (which
  62. includes both new functions and procedures, and suggestions to make the 
  63. ones here better). I can be reached on Electronic Services: 
  64.  
  65. USSBBS: KenMayer 
  66.      (USSBBS -- Unofficial Software Support BBS -- run by the former 
  67.       SYSOP of the now defunct BORBBS, Roger Wegehoft, can be accessed 
  68.       at:  (408) 464-0350)  )
  69. CompuServe: 71333,1030
  70.  
  71. ==========
  72. DISCLAIMER
  73. ==========
  74. No guarantees are given. Last attempted, all these routines worked. We 
  75. take no responsibility for their use, particularly if something happens
  76. to your data.
  77.  
  78. ========
  79. PROBLEMS
  80. ========
  81. Problems with individual procedures and functions should be addressed, 
  82. if possible, to the author (note the 'Programmer' listed in the first 
  83. line of the internal documentation for each routine). If you cannot 
  84. reach them, contact the librarian at their id on CompuServe 
  85. and they will see what they can do.
  86.  
  87. ============
  88. INSTRUCTIONS
  89. ============
  90. ---------------------------------------------
  91. dBASE IV, version 1.5 and later version users
  92. ---------------------------------------------
  93. In order to use these, you need to understand (and this is brief) how 
  94. dBASE IV, version 1.5 (and later) uses functions and libraries. 
  95. Basically, it follows a 'search path' based on your programs and files, 
  96. as well as its own internal functions. dBASE starts at the top of the 
  97. following list, and if it cannot find the  function or procedure named 
  98. in your program, it goes to the next item in the list until it either 
  99. finds it, or doesn't find it, as the case may be. If not, you will get 
  100. the dBASE error message about not finding a function.
  101.  
  102. 1)  dBASE INTERNAL FUNCTIONS AND COMMANDS
  103. 2)  SYSPROC = "System Procedure Filename" (set in CONFIG.DB)
  104. 3)  Current Program (the one executing at that time)
  105. 4)  SET PROCEDURE TO <proc name>
  106. 5)  Calling Program (a main menu program, for example)
  107. 6)  SET LIBRARY TO <library name>
  108.  
  109. To use these files in dBASE IV, version 1.5 (and later), you should use
  110. something along the following lines as a layout: 
  111.  
  112.      For any procedures/functions that are required specifically for 
  113.      your system, and no other, place those in your own procedure file, 
  114.      and refer to that in the SYSPROC command in your CONFIG.DB file. 
  115.      Example: SYSPROC = MYPROC
  116.  
  117.      To use the 'standard' library file for this system, in your main
  118.      program (by 'main program' we could be discussing a MENU program, 
  119.      or other front-end program) put the command:
  120.  
  121.      SET PROCEDURE TO PROC  && or point to the appropriate directory
  122.    
  123.      And in the appropriate programs, or where needed,
  124.  
  125.      SET LIBRARY TO <library file> && based on those below
  126.  
  127. This is just one method of handling this. One thing that can make life
  128. easier, if you switch LIBRARY files a lot, is the dBASE IV, 1.5 (and 
  129. later) option to the SET function:  SET("LIBRARY"). This can be used in 
  130. the following manner:
  131.  
  132.     cLibrary = set("LIBRARY")  && save current library name
  133.     set library to NEWLIB      && set new one
  134.     *-- do function/procedure calls from new library
  135.     set library to &cLibrary.  && return to previous library file
  136.  
  137.      OR you could use the function in PROC.PRG, called SwitchLib():
  138.  
  139.     cOldLib = switchlib("FILES")
  140.     *-- execute function/procedure
  141.     cOldLib = switchlib(cOldLib)
  142.  
  143. SUGGESTION: If you store your copy of the LIBRARY files (and PROC) in
  144. another directory on the drive, you might want to define a public memvar
  145. called something like:  c_LibPath and store the path in in. This way you
  146. can use that with your routines to call the libraries. Something along 
  147. the following could be useful:
  148.  
  149. PUBLIC c_LibPath
  150. Store "C:\DBFILES\PROC\" to c_LibPath
  151.   *-- processing
  152. cOldLib = SwitchLib("&c_LibPath.FILES")  && send with path, as well as
  153.                                          && filename
  154. *-- execute function/procedure
  155. cOldLib = SwitchLib(cOldLib)             && should return path
  156.  
  157. This will make it easier to update if you are setting this up for a 
  158. client -- you can change the c_LibPath variable in the setup or menu 
  159. program ONCE, and not have to worry about it again.
  160.  
  161. NOTE: that in some of the library files there are functions which 
  162. require the use of functions in OTHER files (i.e., some functions in 
  163. NAVIGATE use some functions that are in TRIG). I have attempted to 
  164. ensure that I have copied INTO those library files the appropriate 
  165. functions, so you don't spend too much time tearing your hair out.
  166.  
  167. -------------------
  168. dBASE IV, 1.1 Users
  169. -------------------
  170. To use these procedure files in their entirety, use the DOS Copy 
  171. command to concatenate the library files to the PROC file. Something
  172. along the following lines (although you should check to make sure you 
  173. have all the files):
  174.  
  175. COPY PROC.PRG+SCREEN.PRG+COLOR.PRG+TRIG.PRG+CONVERT.PRG+ <etc.>
  176.  
  177. You should note that in some of the library files, there are duplicated 
  178. functions used, due to the fact that some users in 1.5 (and later) 
  179. might wish to only use one or two of the library files. You can also use
  180. just the individual library files in your SET PROCEDURE command, if you 
  181. wish. Add to your programs (a menu or startup routine is one of the best
  182. places) the line:
  183.  
  184. SET PROCEDURE TO PROC
  185.  
  186. To use individual routines, rather than the whole library, extract them
  187. using your favorite ASCII editor, or remove the routines from this file
  188. (you might want to copy it first) that you do not feel you will need.
  189.  
  190. ---------------------------------------
  191. Another Method to Set Up These Routines
  192. ---------------------------------------
  193. I recently came across a user who told me she has a directory for each 
  194. of the Library Files, and extracts the routines into the directory, so 
  195. that each of them resides in its own .PRG file. She can then incorporate
  196. just the routines she needs into her programs, or procedure file, 
  197. without searching for them each time. If you have the disk space, this 
  198. sounds like a smart way to go.
  199.  
  200. ========================================================================
  201.                             WHAT'S HERE?
  202. ========================================================================
  203.  
  204. Some of the places routines are placed may seem a bit arbitrary -- they 
  205. are. These decisions were made based on the functions/procedures used
  206. by the original librarian (Ken Mayer) in most of his own routines.
  207. Since the original purpose of this library was for his use, he felt it 
  208. his prerogative to be the one to make the final decision as to what 
  209. routines were left in PROC.PRG, and which got moved to the LIBRARY 
  210. files. 
  211.  
  212. Included in this LIBRARY System are the following files:
  213.  
  214. Text Files
  215. README.TXT   -- You're looking at it.
  216. INDEX.TXT    -- A summary of the routines in the library.
  217. WHATS.NEW    -- This is a description of the new features for this 
  218.                 system.
  219. NEWS.TXT     -- VITAL NEW INFORMATION ABOUT CHANGES TO THE LIBRARY!
  220. CONTRIB.TXT  -- How to contribute to the Library Project.
  221. JPMOUSE.TXT  -- An explanation from Jay on the JPMOUSE.BIN file, 
  222.                 attached (with his permission). See also the function
  223.                 ISMOUSE() and procedure file SETMOUSE in OBSOLETE.PRG.
  224. DISK.TXT     -- A very brief discussion on the use of DISK.BIN.
  225. ISDISK.TXT   -- Brief discussion of ISDISK.BIN (which can be used
  226.                 to replace DISK.BIN).
  227. SEARCH.TXT   -- A very brief discussion on the use of SEARCH.BIN.
  228. USERID.TXT   -- A very brief discussion on the use of USERID.BIN.
  229. PRINTSCR.TXT -- Discussion on the use of PRINTSCR.BIN.
  230. SCREEN.TXT   -- Discussion on the use of SCREEN.BIN.
  231. VDCURSOR.TXT -- A very brief discussion on the use of VDCURSOR.BIN.
  232. MUSCLICK.TXT -- Discussion on the use of MUSCLICK.BIN from the .ASM file
  233. DHUNG2.TXT   -- A copy of the Hungarian Notation for dBASE by di Falco,
  234.                 modified for the dBASE User's Function Library Project.
  235. SHANA.TXT    -- A description of the hows and whys for the Hebrew Date
  236.                 routines in DATES.PRG.
  237. VOLNUM.TXT   -- A description on the use of VOLNUM.BIN.
  238. WPMERGE.TXT  -- A description on how to use the WPMERGE?.PR2 files,
  239.                 and the WPMRGDEM.PRG/WPMRGDEM.WPD files.
  240.  
  241. Procedure and Library Files -- Described Below
  242. ARRAY.PRG    -- Array handling functions
  243. COLOR.PRG    -- Functions that work with/affect colors
  244. CONVERT.PRG  -- Conversion from one type to another (decimal to hex, for
  245.                 example)
  246. DATES.PRG    -- Many routines for processing dates, holidays, etc.
  247. DIALOGS.PRG  -- Dialog box routines.
  248. ERRLOG.PRG   -- Error Log -- useful for programmers when a system 
  249.                 crashes -- creates a log file, and on a LAN can send a 
  250.                 message to the programmer.
  251. FIELDS.PRG   -- Field processing routines.
  252. FILES.PRG    -- File handling routines, includes low-level file i/o
  253.                 functions.
  254. FINANCE.PRG  -- Financial UDFs.
  255. FRPG.PRG     -- Fantasy Role-Playing Game routines ...
  256. HELPROC.PRG  -- Programmer defined help routines.
  257. LISTFILE.PRG -- List an ASCII text file on screen, disallows editing ...
  258. MEASURE.PRG  -- Measurements ...
  259. MISC.PRG     -- Routines that don't really seem to belong in any of the
  260.                 other library files.
  261. NAVIGATE.PRG -- Navigation routines.
  262. OBSOLETE.PRG -- UDFs and Functions that have been made obsolete for a
  263.                 variety of reasons (usually updates to the software).
  264. PICKLIST.PRG -- Picklists and Popup routines.
  265. PROC.PRG     -- Main PROCEDURE file.
  266. SCA.PRG      -- A few routines developed for the Society for Creative
  267.                 Anachronism ... 
  268. SCREEN.PRG   -- Screen handling routines.
  269. STATS.PRG    -- Statistics udfs and procedures.
  270. STRINGS.PRG  -- Character string manipulation routines.
  271. TIME.PRG     -- Time processing udfs.
  272. TRIG.PRG     -- Trigonometry, anyone?
  273. WINDOWS.PRG  -- Some routines that can give your applications a 
  274.                 windows-like appearance.
  275. WPMRGDEM.PRG -- A WordPerfect Merge demo program, to show how to use
  276.                 the WPMERGE?.PR2 files.
  277.  
  278. BIN Files -- used in routines attached (see text files above).
  279. DISK.BIN     -- Is a valid disk in the drive?
  280. JPMOUSE.BIN  -- Mouse handling routine
  281. MUSCLICK.BIN -- Related to above ...
  282. PRINTSCR.BIN -- Print screen to a printer
  283. SCREEN.BIN   -- Print screen to a file
  284. SEARCH.BIN   -- Search
  285. USERID.BIN   -- Get LAN userid
  286. OX.SYS       -- Switch monitors ...
  287. VDCURSOR.BIN -- Absolute cursor position on screen.
  288. VOLNUM.BIN   -- Get volume number from a disk.
  289. WPMERGE.PR2  -- WordPerfect Merge printer driver.
  290. WPMERGEB.PR2 -- WordPerfect Merge printer driver with Bold support.
  291. WPMRGDEM.WPD -- Demo Primary Document for WordPerfect Merge demo
  292.                 program (WPMRGDEM.PRG)
  293.  
  294. DBF Files -- used in routines attached.
  295. HELPER.DBF
  296. MAKEHOLS.DBF
  297.  
  298. OTHER Files -- used in routines attached.
  299. HELPER.FMT
  300. HELPER.FMO
  301.  
  302. ------------------------------------------------------------------------
  303.                         END OF README.TXT
  304. ------------------------------------------------------------------------
  305.